package vn.com.mybudget.da.inf;

import java.util.Date;
import java.util.List;

import com.google.appengine.api.datastore.Key;

import vn.com.mybudget.entities.Account;
import vn.com.mybudget.entities.Entry;

public interface ITransactionDA extends IDABase<Entry> {

	List<Entry> ListByDateRange(Date from, Date to);

	Entry AddTransaction(Entry trans);

	boolean AddTransactionToUser(Account currentUser, Entry trans);

	List<Entry> ListByDate(Date viewDate, Account _currentAccount) throws Exception;

	long GetCurrentBalance(Account _currentAccount);

	List<Entry> ListByMonth(Date dateStr, Account _currentAccount);

	boolean DeleteTransactionOfAccountByKey(String key, Key id);

	boolean UpdateEntry(Account _currentAccount, Entry transaction);

}
